如何用vba为word文档中的所有表格自动插入题注和交叉引用? 您所在的位置:网站首页 vba 添加图表 如何用vba为word文档中的所有表格自动插入题注和交叉引用?

如何用vba为word文档中的所有表格自动插入题注和交叉引用?

2024-06-17 20:04| 来源: 网络整理| 查看: 265

如何用vba为word文档中的所有表格自动插入题注和交叉引用? 2018年12月10日 作者:水星Excel 5,589 次浏览 暂无评论

在长篇的word文档排版中,往往需要在文档中表格的上方插入题注,同时在题注上方插入一个“XXX如YYY所示”的交叉引用。

可以使用如下的vba代码实现:

Sub QQ1722187970() Word.Application.ScreenUpdating = False Dim oRng As Range Dim oDoc As Document Dim oCL As CaptionLabel Dim oT As Table Set oDoc = Word.ActiveDocument With oDoc Set oCL = Word.CaptionLabels.Add("表") '设置新增的题注样式 With oCL .ChapterStyleLevel = 1 .IncludeChapterNumber = True .NumberStyle = wdCaptionNumberStyleArabic End With i = 1 For Each oT In .Tables Set oRng = .Range(oT.Range.Start - 2, oT.Range.Start - 1) With oRng ' 将oRng对象按照整个段落选中 , oRng对象自动变为整个段落的Range对象 oRng.Expand wdParagraph '如果有自动编号,删除 oRng.ListFormat.RemoveNumbers ' 读取标题的文本内容 sText = VBA.Replace(oRng.Text, Chr(13), "") .Delete '插入题注 .InsertCaption "表", sText '插入XX如YY所示的交叉引用 .InsertBefore "所示:" & Chr(13) '重新定义区域 .SetRange .Start, .Start .InsertCrossReference "表", wdOnlyLabelAndNumber, i oRng.Expand wdParagraph .SetRange .Start, .Start .InsertBefore sText & "如" End With i = i + 1 Next End With Word.Application.ScreenUpdating = True End Sub

 

其它相关文章推荐:如何用vba操作word的题注?如何用vba访问使用word的“行对象”?如何用vba将word文档按照手动分页符拆分?如何用vba获取word文档中表格的标题段落文字?如何用vba在word文档的末尾或者开头插入内容?如何用vba在word文档中实现文本内容的修改、删除、添加等各种操作? 分类 :  VBA , WORD VBA 标签 :  CaptionLabels , InsertCaption , InsertCrossReference , SetRange , 交叉引用 , 表格 , 题注        

声明: 本站文章均属原创,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则视为侵权。如果想要每天都收到本站的技术文章推送,可以微信搜索公众号:水星Excel或者Excel_Office关注。其它事宜请加QQ:1722187970 或微信号:xycgenius 联系。 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有